MongoDB เป็นระบบจัดการฐานข้อมูล NoSQL ที่มีความนิยมสูงในการจัดเก็บข้อมูลที่ไม่เป็นโครงสร้าง (unstructured data) หรือข้อมูลที่ต้องการความยืดหยุ่นในการจัดเก็บ ด้วยเหตุนี้เอง MongoDB จึงมีฟังก์ชันที่สามารถช่วยในการทำงานกับข้อมูลเหล่านี้ได้หลากหลาย และหนึ่งในฟังก์ชันสำคัญที่ช่วยให้ผู้ใช้สามารถจัดการและวิเคราะห์ข้อมูลได้คือ 'aggregate framework' ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพในการรวบรวมข้อมูล และสามารถดำเนินการที่ซับซ้อนได้
ในบทความนี้ เราจะมาวิเคราะห์และติดตามการใช้งานคำสั่ง `db.collection.aggregate([{$addFields: {}}])` ซึ่งเป็นหนึ่งในหมวดคำสั่งของ aggregate framework ที่ช่วยให้สามารถเพิ่มฟิลด์ใหม่เข้ามาในเอกสาร (document) ของคอลเล็กชัน (collection) ได้
`$addFields` เป็นขั้นตอนหนึ่งในกระบวนการ aggregation ที่ใช้สำหรับเพิ่มฟิลด์ใหม่เข้าไปในเอกสารที่เราสนใจ โดยเราสามารถกำหนดค่าของฟิลด์ใหม่นั้นจากการคำนวณหรือการประมวลผลข้อมูลในเอกสารเดิมได้
db.collection.aggregate([
{ $addFields: { <field1>: <expression1>, <field2>: <expression2>, ... } }
])
- `<field>` คือชื่อฟิลด์ใหม่ที่ต้องการเพิ่ม
- `<expression>` คือเงื่อนไขหรือการคำนวณที่ใช้กำหนดค่าของฟิลด์ใหม่
สมมติว่าผู้ใช้มีคอลเล็กชันชื่อ `orders` ซึ่งใช้ในการจัดเก็บข้อมูลออเดอร์สินค้า แต่ละเอกสารในคอลเล็กชันนี้มีโครงสร้างดังนี้:
{
"order_id": 1,
"product": "Notebook",
"quantity": 2,
"price": 500
}
เราต้องการเพิ่มฟิลด์ใหม่ชื่อ `total` ซึ่งเป็นผลคูณระหว่าง `quantity` และ `price` เพื่อคำนวณยอดรวมของแต่ละออเดอร์ เราสามารถใช้ `$addFields` ในการสร้างฟิลด์ใหม่นี้ได้ดังนี้:
db.orders.aggregate([
{
$addFields: {
total: { $multiply: ["$quantity", "$price"] }
}
}
])
ผลลัพธ์ที่ได้จะเป็น:
{
"order_id": 1,
"product": "Notebook",
"quantity": 2,
"price": 500,
"total": 1000
}
คำสั่ง `$addFields` ใน MongoDB เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการเพิ่มฟิลด์ใหม่ในคอลเล็กชันเพื่อขยายหรือปรับแต่งข้อมูลต้นฉบับ โดยไม่มีความจำเป็นต้องปรับโครงสร้างฐานข้อมูลทั้งหมด ผู้ใช้สามารถนำไปประยุกต์ใช้งานได้หลากหลายตามสถานะการณ์ต่างๆ ที่ต้องการวิเคราะห์ข้อมูลเชิงลึก
การเรียนรู้และใช้งานคำสั่งนี้ที่ Expert-Programming-Tutor (EPT) จะช่วยให้คุณเข้าใจและจัดการข้อมูลได้อย่างมีประสิทธิภาพยิ่งขึ้น หากคุณสนใจในโลกของ NoSQL และต้องการพัฒนาทักษะในงานด้านฐานข้อมูล MongoDB การจัดเรียนการสอนของ EPT สามารถตอบโจทย์คุณได้อย่างแน่นอน!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM